<?php
class Cliente{
	private $id;
	private $nome;
	private $datanascimento;
	private $rg;
	private $cpf;
	private $rua;
	private $numero;
	private $bairro;
	private $cidade;
	private $uf;
	private $cep;
	private $ddd_tel;
	private $telefone;
	private $ddd_cel;
	private $celular;
	private $email;
	private $bloqueio;
	private $observacoes;
        private $filial;

	public function __construct(){
		$this->id = NULL;
		$this->nome = NULL;
		$this->datanascimento = NULL;
		$this->rg = NULL;
		$this->cpf = NULL;
		$this->rua = NULL;
		$this->numero = NULL;
		$this->bairro = NULL;
		$this->cidade = NULL;
		$this->uf = 0;
		$this->cep = NULL;
		$this->ddd_tel = NULL;
		$this->telefone = NULL;
		$this->ddd_cel = NULL;
		$this->celular = NULL;
		$this->email = NULL;
		$this->bloqueio = NULL;
		$this->observacoes = NULL;
                $this->filial = NULL;
	}

	public function get_id(){
		return $this->id;
	}
	public function get_nome(){
		return $this->nome;
	}
	public function get_datanascimento(){
		$ano = substr($this->datanascimento, 0, 4);
		$mes = substr($this->datanascimento, 5, 2);
		$dia = substr($this->datanascimento, 8, 2);
		$r = $dia."/".$mes."/".$ano;
		return $r;
	}
	public function get_rg(){
		return $this->rg;
	}
	public function get_cpf(){
		return $this->cpf;
	}
	public function get_rua(){
		return $this->rua;
	}
	public function get_numero(){
		return $this->numero;
	}
	public function get_bairro(){
		return $this->bairro;
	}
	public function get_cidade(){
		return $this->cidade;
	}
	public function get_uf(){
		return $this->uf;
	}
        public function get_nome_cidade(){
                $sql = "select cidade from cidade where id = '".$this->cidade."'";
                $conexao = db::conecta();
                $result = db::query($sql, $conexao);
                $cidade = db::fetch_array($result);
                db::close($conexao);
		return $cidade[0];
	}
	public function get_nome_uf(){
                $sql = "select sigla from estado where id = '".$this->uf."'";
                $conexao = db::conecta();
                $result = db::query($sql, $conexao);
                $estado = db::fetch_array($result);
                db::close($conexao);
		return $estado[0];
	}
	public function get_cep(){ 
                $t = '';
                if(strlen($this->cep) > 5){
                    $t = substr($this->cep, 0, 5)."-".substr($this->cep, 5, 3);
                }
		return $t;
	}
	public function get_ddd_tel(){
                if($this->ddd_tel == 0){
                    return '';
                }else{
                    return $this->ddd_tel;
                }
	}
	public function get_telefone(){
                if($this->telefone == 0){
                    return '';
                }else{
                    return $this->telefone;
                }
	}
	public function get_ddd_cel(){
                if($this->ddd_cel == 0){
                    return '';
                }else{
                    return $this->ddd_cel;
                }
	}
	public function get_celular(){
                if($this->celular == 0){
                    return '';
                }else{
                    return $this->celular;
                }
	}
	public function get_email(){
		return $this->email;
	}
	public function get_bloqueio(){
		return $this->bloqueio;
	}
	public function get_observacoes(){
		return $this->observacoes;
	}
        public function get_filial(){
		return $this->filial;
	}


	public function set_id($id){
		if($id != '' && valida::numero($id)){
			$this->id = $id;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_nome($nome){
		if($nome != '' && valida::nome($nome)){
			$this->nome = $nome;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_datanascimento($datanascimento){
		$dia = substr($datanascimento, 0, 2);
		$mes = substr($datanascimento, 3, 2);
		$ano = substr($datanascimento, 6, 4);
		
		if($datanascimento != '' && valida::data($dia, $mes, $ano)){
			$this->datanascimento = $ano."-".$mes."-".$dia;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_rg($rg){
		$rg = addslashes($rg);
		$this->rg = $rg;
		return 1;
	}
	public function set_cpf($cpf){
		if($cpf != '' && valida::cpf($cpf)){
		    $sql = "select count(id) from Cliente where cpf = '$cpf'";
		    $conexao = db::conecta();
		    $result = db::query($sql, $conexao);
		    $c = db::fetch_array($result);
            
		    if($c[0] == 0){
			    $this->cpf = $cpf;
			    return 1;
			}else{
			    return 0;
			}
		}else{
			return 0;
		}
	}
	public function set_rua($rua){
		if($rua != '' && valida::endereco($rua)){
			$this->rua = $rua;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_numero($numero){
		if(valida::numero($numero)){
			$this->numero = $numero;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_bairro($bairro){
		if(valida::endereco($bairro)){
			$this->bairro = $bairro;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_cidade($cidade){
		if($cidade != '' && valida::numero($cidade)){
			$this->cidade = $cidade;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_uf($uf){
		if($uf != '' && valida::numero($uf)){
			$this->uf = $uf;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_cep($cep){
                if($cep != '-' && $cep != ''){
                        if(valida::cep($cep)){
                                $cnt = 0;
                                $t = '';
                                while ($cnt < strlen($cep)){
                                        if (valida::numero(substr($cep, $cnt, 1))){
                                                $t .= substr($cep, $cnt, 1);
                                        }
                                        $cnt++;
                                }
                                $this->cep = $t;
                                return 1;
                        }else{
                                return 0;
                        }
                }else{
                    return 1;
                }
	}
	public function set_ddd_tel($ddd_tel){
		if(valida::numero($ddd_tel)){
			$this->ddd_tel = $ddd_tel;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_telefone($telefone){
		if(valida::telefone($telefone)){
			$this->telefone = $telefone;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_ddd_cel($ddd_cel){
		if(valida::numero($ddd_cel)){
			$this->ddd_cel = $ddd_cel;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_celular($celular){
		if(valida::telefone($celular)){
			$this->celular = $celular;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_email($email){
                if($email != ''){
                        if(valida::email($email)){
                                $this->email = $email;
                                return 1;
                        }else{
                                return 0;
                        }
                }else{
                    return 1;
                }
	}
	public function set_bloqueio($bloqueio){
		if($bloqueio == 1 || $bloqueio == 0){
			$this->bloqueio = $bloqueio;
			return 1;
		}else{
			return 0;
		}
	}
	public function set_observacoes($observacoes){
		$observacoes = addslashes($observacoes);
		$this->observacoes = $observacoes;
		return 1;
	}
        public function set_filial($filial){
		if($filial == 0 || $filial == 1){
                        $this->filial = $filial;
                        return 1;
                }else{
                        return 0;
                }
	}
        

	
	public function gera_id(){
		$sql = "select max(id) from Cliente";
		$conexao = db::conecta();
		$result = db::query($sql, $conexao);
		$mid = db::fetch_array($result);
		db::close($conexao);
		return $mid[0]+1;
	} 
	
	public function salvar(){
		$sql = "insert into Cliente(id, nome, datanascimento, rg, cpf, rua, numero, bairro, cidade, uf, cep, ddd_tel, telefone, ddd_cel, celular, email, bloqueio, observacoes, filial) 
				values('".$this->id."', '".$this->nome."', '".$this->datanascimento."', '".$this->rg."', '".$this->cpf."', '".$this->rua."', '".$this->numero."', '".$this->bairro."', '".$this->cidade."', '".$this->uf."', '".$this->cep."', '".$this->ddd_tel."', '".$this->telefone."', '".$this->ddd_cel."', '".$this->celular."', '".$this->email."', '".$this->bloqueio."', '".$this->observacoes."', '".$this->filial."')";
		
		$con = db::conecta();
		$res = db::query($sql, $con);
		db::close($con);
		return $res;
	}
	public function alterar($parametro){
		$sql = "update Cliente set nome = '".$this->nome."', datanascimento = '".$this->datanascimento."', rg = '".$this->rg."', cpf = '".$this->cpf."', rua = '".$this->rua."', numero = '".$this->numero."', bairro = '".$this->bairro."', cidade = '".$this->cidade."', uf = '".$this->uf."', cep = '".$this->cep."', ddd_tel =  '".$this->ddd_tel."', telefone = '".$this->telefone."', ddd_cel =  '".$this->ddd_cel."', celular = '".$this->celular."', email = '".$this->email."', bloqueio = '".$this->bloqueio."', observacoes = '".$this->observacoes."', filial = '".$this->filial."' where id = '$parametro'";
		
		$con = db::conecta();
		$res = db::query($sql, $con);
		db::close($con);
		return $res;
	}
	public function carregar($parametro){
		$sql = "select * from Cliente where id = '$parametro'";

		$con = db::conecta();
		$res = db::query($sql, $con);
		$Cliente = db::fetch_array($res);
		
		$this->id = $Cliente["id"];
		$this->nome = $Cliente["nome"];
		$this->datanascimento = $Cliente["datanascimento"];
		$this->rg = $Cliente["rg"];
		$this->cpf = $Cliente["cpf"];
		$this->rua = $Cliente["rua"];
		$this->numero = $Cliente["numero"];
		$this->bairro = $Cliente["bairro"];
		$this->cidade = $Cliente["cidade"];
		$this->uf = $Cliente["uf"];
		$this->cep = $Cliente["cep"];
		$this->ddd_tel = $Cliente["ddd_tel"];
		$this->telefone = $Cliente["telefone"];
		$this->ddd_cel = $Cliente["ddd_cel"];
		$this->celular = $Cliente["celular"];
		$this->email = $Cliente["email"];
		$this->bloqueio = $Cliente["bloqueio"];
		$this->observacoes = $Cliente["observacoes"];
                $this->filial = $Cliente["filial"];
	
		db::close($con);
		return 1;
	}
	public function excluir($parametro){
		$sql = "delete from `".db::$database."`.Cliente where id = '$parametro'";
		$conexao = db::conecta();
		$result = db::query($sql, $conexao);
		db::close($conexao);
		return $result;
	}
}
?>
